package uva.sc.qls.logic; import java.util.ArrayList; import java.util.List; import uva.sc.qls.ast.IQLSNode; import uva.sc.qls.ast.IQLSNodeVisitor; import uva.sc.qls.logic.style.DefaultStyle; public class Page implements IQLSNode { ID id; List<Section> sections = new ArrayList<Section>(); DefaultStyle defaultStyle; public Page(ID id, List<Section> sections, DefaultStyle defaultStyle) { this.id = id; this.sections = sections; this.defaultStyle = defaultStyle; } public ID getId() { return id; } public List<Section> getSections() { return sections; } public DefaultStyle getDefaultStyle() { return defaultStyle; } public <T> T accept(IQLSNodeVisitor<T> visitor) { return visitor.visit(this); } public String toString() { String result = "[Page]: " + id.toString() + "\n\t\t"; for (Section section : sections) { result += section.toString(); } if (defaultStyle != null) { result += defaultStyle.toString(); } return result; } }